SQL中的「规则」 constraint 与「约束」 rule 的区别。 您所在的位置:网站首页 assimilation rules举例说明 SQL中的「规则」 constraint 与「约束」 rule 的区别。

SQL中的「规则」 constraint 与「约束」 rule 的区别。

2024-05-26 19:39| 来源: 网络整理| 查看: 265

前言,学校时学习的东西,好久都没有用到了。

今天看到了rule,第一眼还以为是约束了。

--------------------------------------------------------------

举例,说明「约束」:constraint

我们在定义一个表的时候,可以定义下面几种约束

1.主键约束 

2.外键约束 

3.唯一性约束 

4.非空约束

5.检查约束    check:  例:check(columnName > 18)

======================================

举例,说明「规则」(在Sql Server2000中)  rule

为目标数据库管理系统设计业务规则: 4.2.1 规则: rule[Sex] create rule [Sex] as @ in ('男','女') rule[TypeHaveChild] create rule [TypeHaveChild] as @ in ('y','n') rule[IsSpecial]

create rule [IsSpecial] as @ in ('y','n') rule[OrderIsConfirm] create rule [OrderIsConfirm] as @ in ('y','n')

rule[Actor] create rule [Actor] as @ in('超级管理员','用户管理员','论坛管理员','服装 管理员','订单管理员','公告管理员') rule[OrderSendStatus] create rule [OrderSendStatus

 

 实例(应用到表中):

CREATE RULE id_chk AS @id BETWEEN 0 and 10000 CREATE TABLE cust_sample ( cust_id int PRIMARY KEY, cust_name char(50), cust_address char(50), cust_credit_limit money, ) sp_bindrule id_chk, 'cust_sample.cust_id '

 

===========================================

区别总结:

规则可以邦定到多列 、check只能邦定一个表

用规则可以优化你的设计

 

但是我觉得,一般情况下,我们完全可以使用约束中的检查check。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有